---
title: PolicyActivityPopup
summary: API reference for PolicyActivityPopup.
status: draft
owner: <owner>
last_reviewed: 2026-08-21
library: SAIF.Presentation.Web.Controls.PopUps.Infragistics111
reference_type: package
---

# PolicyActivityPopup

`PolicyActivityPopup` captures a Category/Type (or a free-form type override) and note text for a Policy Activity entry, offering both a plain Save and a Save-and-Email confirmation path ([OP-5](../../operations/policy-activity-popup-note-capture.md)). It is the only control in this library that implements `ICallbackEventHandler`, used to drive a client-side free-form-type toggle without a full postback.

## Purpose
- Capture Category/Type selection (or a caller-typed free-form override when the special `"FF"` type code is chosen) and note text for a Policy Activity.
- Distinguish a plain Save from a Save-and-Email confirmation via the `sendEmail` flag on the raised event.

## Context
- Namespace: `SAIF.Presentation.Web.Controls.PopUps`
- Assembly/package: `SAIF.Presentation.Web.Controls.PopUps.Infragistics111` (package)

## Public members
| Member | Signature | Purpose |
| --- | --- | --- |
| `Active` | `Public Property Active() As Boolean` | Toggles whether the popup renders markup |
| `MemoTypeCodes` | `Public Property MemoTypeCodes() As clsCodeCollection` | Caller-supplied code collection used to bind the Type dropdown |
| `TaskID` | `Public Property TaskID() As Decimal` | Identifies the policy task/activity the note is attached to |
| `NoteCategoryCode` | `Public Property NoteCategoryCode() As String` | Holds the (typically fixed/pre-set) note category code |
| `NoteCategoryDescr` | `Public Property NoteCategoryDescr() As String` | Display text shown for the note category label |
| `NoteText` | `Public Property NoteText() As String` | Holds the free-text note content |
| `NoteTypeCode` | `Public Property NoteTypeCode() As String` | Holds the selected/posted Type code, including values posted back through the `ICallbackEventHandler` free-form toggle |
| `Top` | `Public Property Top() As Integer` | Vertical pixel offset for popup positioning |
| `Left` | `Public Property Left() As Integer` | Horizontal pixel offset for popup positioning |
| `ConfirmAction` | `Public Event ConfirmAction(ByVal Confirm As Boolean, ByVal e As PolicyNoteEventArgs)` | Raised on Save, Save-and-Email (both `Confirm = True`), or Cancel (`Confirm = False`) |
| `PolicyNoteEventArgs` (nested type) | `Public Class PolicyNoteEventArgs` — constructor `New(inTaskId As Decimal, ...)` with read-only `TaskId`, `CategoryCode`, `TypeText`, `NoteText`, `SendEmail` | Immutable payload delivered with `ConfirmAction`, carrying the final captured note values and whether email delivery was requested |
| `GetCallbackResult` | `Public Function GetCallbackResult() As String Implements ICallbackEventHandler.GetCallbackResult` | Returns the posted Type code back to the client-side `CheckForFreeForm` callback |
| `RaiseCallbackEvent` | `Public Sub RaiseCallbackEvent(ByVal eventArgument As String) Implements ICallbackEventHandler.RaiseCallbackEvent` | Stores the client-posted Type code into `NoteTypeCode` when the Type dropdown selection changes |

## Behavioral notes
- The client-side `CheckForFreeForm` function shows/hides a "Freeform" text box when the special type code `"FF"` is selected, using the `ICallbackEventHandler` round trip rather than a full postback.
- No explicit validation is performed on the note text or type selection beyond the free-form toggle before `ConfirmAction` is raised*.
- A commented-out `LoadCodeTables()`/`GetDal()` block exists in the source but is dead code, not part of the active behavior*.

## Constraints and usage notes
- `MemoTypeCodes` must be supplied by the caller before `Active` is set — the control performs no independent code-table retrieval of its own*.

> **Note:** Statements marked with `*` were inferred from code structure, naming
> conventions, or contextual evidence where direct confirmation was not available
> in source artifacts. Statements marked with `**` could not be confirmed; treat
> as unknown until verified.

## Sources
- `SAIF.Presentation.Web.Controls.PopUps.Infragistics111\PolicyActivityPopup.vb`
- `SAIF.Presentation.Web.Controls.PopUps.Infragistics111\PolicyActivityPopup.ascx`
